The background description provided herein is for the purpose of generally presenting the context of the disclosure. Work of the presently named inventors, to the extent it is described in this background section, as well as aspects of the description that may not otherwise qualify as prior art at the time of filing, are neither expressly nor impliedly admitted as prior art against the present disclosure.
Referring now to FIG. 1, a functional block diagram of an engine system 100 according to the prior art is presented. Air is drawn through a throttle valve 102 into an intake manifold 104. An air fuel mixture is created by injecting fuel from a fuel injector 106 into the intake manifold 104. The air fuel mixture is drawn through an open intake valve 108 into a representative cylinder 110. An ignition coil 112 activates a spark plug 114 to ignite the air/fuel mixture within the cylinder 110.
After ignition, an open exhaust valve 116 allows the cylinder 110 to vent the products of combustion to an exhaust system 118. A control module 120 receives signals from first and second throttle position sensors (TPS's) 122 and 124. The control module 120 communicates a control signal to an electronic throttle control (ETC) motor 126, which actuates the throttle valve 102.
The control module 120 communicates with nonvolatile memory 128 and volatile memory 130. The control module 120 also controls the fuel injector 106 and the ignition coil 112. The control module 120 monitors inputs, such as position of a gas pedal (not shown), determines a desired throttle position, and instructs the ETC motor 126 to actuate the throttle valve 102 to the desired throttle position.
The control module 120 and/or other control modules (not shown) monitor for errors and faults and perform diagnostics. When the control module 120 senses an external sensor fault, such as in the TPS's 122 and 124, remedial actions can be taken. Remedial actions may include those described in commonly assigned U.S. Pat. No. 7,082,925, which is hereby incorporated by reference in its entirety.
In addition to external sensor faults, the control module 120 may encounter infrastructure faults. Infrastructure faults include such faults as memory faults, arithmetic logic unit (ALU) faults, and process sequence faults. Memory faults include memory faults within the control module 120 and faults within nonvolatile memory 128 or volatile memory 130. Memory faults can be recognized through the use of pattern tests.
A memory location that is read incorrectly after being written with a known pattern can be retested. If the memory location fails the second test, a memory fault may be declared. Alternatively, a memory fault may be declared after a single erroneous reading. An ALU fault may occur when the mathematical logic or storage registers within the control module 120 and/or an optional coprocessor (not shown) are not functioning properly. ALU faults can be determined via test vectors, where known values are combined to create a result that is compared to a predetermined value.
Process sequence faults include when subroutines are executed out of order or not executed at the appropriate time. Process sequence faults can be identified by incrementing a count variable when a subroutine is entered. The control module 120 can periodically check the count variable to determine whether the count variable is increasing at the expected rate.
Process sequence faults can also be detected by setting a flag in one subroutine and clearing it in a second subroutine. Prior to clearing the flag, the second subroutine can verify that the flag was properly set. If not, a process sequence fault has occurred. Other faults include analog to digital (A/D) conversion faults, clock faults, and timer faults.
When an infrastructure fault is detected, the control module 120 is no longer certain that proper engine control can be maintained. The control module 120 therefore instructs engine shutdown mode. In engine shutdown mode, the throttle valve 102 is returned to default, the fuel injector 106 is instructed to stop injecting fuel, and the ignition coil 112 is instructed to stop providing spark. The default position of the throttle valve 102 is a high idle position. In various embodiments, high idle corresponds to an opening that would allow a maximum air flow of 32 grams per second if the engine were running.